menuconfig ION
	bool "Ion Memory Manager"
	depends on HAVE_MEMBLOCK && HAS_DMA && MMU
	select GENERIC_ALLOCATOR
	select DMA_SHARED_BUFFER
	select MSM_SECURE_BUFFER
	help
	  Choose this option to enable the ION Memory Manager,
	  used by Android to efficiently allocate buffers
	  from userspace that can be shared between drivers.
	  If you're not using Android its probably safe to
	  say N here.

config ION_LEGACY
	bool "Legacy ion"
	depends on ION
	help
	  Choose this option to enable the legacy ion. If in doubt, say N.

config ION_SYSTEM_HEAP
	bool "Ion system heap"
	depends on ION
	help
	  Choose this option to enable the Ion system heap. The system heap
	  is backed by pages from the buddy allocator. If in doubt, say Y.

config ION_CARVEOUT_HEAP
	bool "Ion carveout heap support"
	depends on ION
	help
	  Choose this option to enable carveout heaps with Ion. Carveout heaps
	  are backed by memory reserved from the system. Allocation times are
	  typically faster at the cost of memory not being used. Unless you
	  know your system has these regions, you should say N here.

config ION_CHUNK_HEAP
	bool "Ion chunk heap support"
	depends on ION
	help
          Choose this option to enable chunk heaps with Ion. This heap is
	  similar in function the carveout heap but memory is broken down
	  into smaller chunk sizes, typically corresponding to a TLB size.
	  Unless you know your system has these regions, you should say N here.

config ION_CMA_HEAP
	bool "Ion CMA heap support"
	depends on ION && DMA_CMA
	help
	  Choose this option to enable CMA heaps with Ion. This heap is backed
	  by the Contiguous Memory Allocator (CMA). If your system has these
	  regions, you should say Y here.

config ION_FORCE_DMA_SYNC
	bool "Force ION to always DMA sync buffer memory"
	depends on ION
	help
	  Force ION to DMA sync buffer memory when it is allocated and to
	  always DMA sync the buffer memory on calls to begin/end cpu
	  access. This makes ION DMA sync behavior similar to that of the
	  older version of ION.
	  We generally don't want to enable this config as it breaks the
	  cache maintenance model.
	  If you're not sure say N here.

config ION_DEFER_FREE_NO_SCHED_IDLE
	bool "Increases the priority of ION defer free thread"
	depends on ION
	help
	  Certain heaps such as the system heaps make use of a low priority
	  thread to help free buffer allocations back to the pool which might
	  result in future allocations requests going to the buddy instead of
	  the pool when there is a high buffer allocation rate.
	  Choose this option to remove the SCHED_IDLE flag in case of defer
	  free thereby increasing the priority of defer free thread.
	  if you're not sure say Y here.

config ION_POOL_AUTO_REFILL
	bool "Refill the ION heap pools automatically"
	depends on ION
	help
	  Choose this option to refill the ION system heap pools (non-secure)
	  automatically when the pool pages count becomes lower than a set low mark.
	  This refilling is done by worker thread which is invoked asynchronously
	  when the pool count reaches below low mark.
	  if you're not sure say Y here.

config ION_POOL_FILL_MARK
	int "ion pool fillmark size in MB"
	depends on ION_POOL_AUTO_REFILL
	range 16 256
	default 100
	help
	  Set the fillmark of the pool in terms of mega bytes and the lowmark is
	  ION_POOL_LOW_MARK_PERCENT of fillmark value.
